package day7;

public class Student {
    //类中默认存在一个构造方法，但是如果你手动添加构造，默认提供的方法就失效了

    public void Student(){
        System.out.println("这是普通方法，不是构造方法");
    }
    //java中凡是方法名相同，参数不同，和返回值无关，称之为方法的重载（overload）
    public Student(){
        System.out.println("无参构造方法");
    }
    public Student(String name){
        System.out.println(name);
    }
    String name;
    int age;
    double score;
    public void print(){
        System.out.println(name+" "+age+" "+score);
    }

    public Student(String name,int age,double score){
        System.out.println("三个参数构造方法");
        //成员变量name=参数name  this表示当前对象资源
        this.name=name;
        this.age=age;
        this.score=score;

    }
    //普通方法重载  参数列表不同（参数个数  类型   顺序）
    public void study(){}
    public int  study(String s){ return 0;}
    public void study(String s,int a){}
    public void study(int a,String S){}
}
class TestStudent{
    public static void main(String[] args) {
        //new的过程，底层就是会调用构造方法
        Student s=new Student("张三",19,70);
        Student s2=new Student("李四");
        System.out.println(s2);
        s.print();


    }
}